/**
 * 
 */
package org.william.common_boot.redis;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.william.common_boot.comconsts.RedisBusParaConst;

/** 
 * Description: 
 * @author xuhongwei
 * @version 1.0
 * <pre>
 * Modification History: 
 * Date         Author      Version     Description 
------------------------------------------------------------------
 * 2018年4月26日    xuhongwei     1.0        1.0 Version 
 * </pre>
 */
@Service
public class RedisService {
	
	@Autowired
	StringRedisTemplate  stringRedisTemplate ;
	
	/**
	 * 变更redis数据库database
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月26日
	 */
	public void changeDatabase(int database){
		JedisConnectionFactory jedisConnectionFactory = (JedisConnectionFactory) stringRedisTemplate.getConnectionFactory();
		//可根据实际需要设置database
		jedisConnectionFactory.setDatabase(database); 
		stringRedisTemplate.setConnectionFactory(jedisConnectionFactory);
	}
	
	/**
	 * 从  redis DB 0 中查询返回数据
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月26日
	 */
	public String queryOtherDataZero(){
		changeDatabase(0);
		return stringRedisTemplate.opsForValue().get("iqb_onigiri_weixin_access_token"); 
	}
	

	/**
	 * 从  redis DB 1 中查询返回数据
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月26日
	 */
	public String querySwitchinDBOne(){
		changeDatabase(1);
		return stringRedisTemplate.opsForValue().get("vvvv");
	}
	
	/**
	 * 从  redis db 2中查询返回数据
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月26日
	 */
	public String querySwitchinDBTwo(){
		changeDatabase(2);
		return stringRedisTemplate.opsForValue().get(RedisBusParaConst.REDIS_BUSPARA_SALABLESWITCH);
	}


}
